home *** CD-ROM | disk | FTP | other *** search
/ CD ROM Paradise Collection 4 / CD ROM Paradise Collection 4 1995 Nov.iso / program / jx4nt123.zip / READ_1ST.TXT < prev    next >
Text File  |  1994-09-05  |  10KB  |  255 lines

  1. Jax4th for Windows NT
  2. Copyright 1993, 1994 Jack J. Woehr
  3. PO Box 51, Golden, Colorado 80402-0051
  4. jax@well.sf.ca.us 72203.1320@compuserve.com
  5. SYSOP RCFB (303) 278-0364
  6. All Rights Reserved
  7. --------------------------------------------------------
  8. This is free software and can be modified and redistributed under
  9. certain conditions described in the file COPYING.TXT. The
  10. Disclaimer of Warranty and License for this free software are also
  11. contained in the file COPYING.TXT.
  12.  
  13. [Windows NT and MASM are trade names used by Microsoft for two of their
  14. fine products and are the trademark property of that organization.]
  15.  
  16. This is Jax's free Forth for Windows NT. It's written in Microsoft MASM
  17. 6.11.
  18.  
  19. The source and documentation were prepared under Alan Phillips's
  20. (alan@lancaster.ac.uk) PFE Programmer's File Editor 0.04.009. The font
  21. was Lucida Sans Typewriter 7 which shows 124 characters by 31 lines in
  22. a full-screen VGA window and was very convenient for the author. You
  23. may have trouble browsing the source because of this, unless you are
  24. using a large screen or an editor/browser which provides small fonts
  25. for viewing and printing.
  26.  
  27. For Unicode files (such as UB2T.F in the EXAMPLE subdirectory) you
  28. can use the  Microsoft SDK's UNIPAD to view and edit, or you can
  29. convert back and forth between Unicode and ASCII text with the
  30. utilities UNIBLOCK.EXE and UNIASCII.EXE provided with Jax4th until
  31. such a time as you find a decent Unicode text editor.
  32.  
  33. .BLK files are Forth BLOCK files and should be viewd in the Jax4th
  34. system. These BLOCK files are 1024-character Unicode BLOCK files,
  35. not good-old 1024 byte BLOCK files from the old days of Forth!
  36. See JAX4TH.DOC for more info on BLOCK and file handling in
  37. Jax4th.
  38.  
  39. The files are:
  40. COPYING.TXT        LICENSE for this software.
  41. READ_1ST.TXT        This file.
  42. JAX4TH.EXE        Jax4th for Windows NT, executable.
  43. UNIBLOCK.EXE        File conversion utility, ASCII > Unicode.
  44. UNIASCII.EXE        File conversion utility, Unicode > ASCII.
  45. JAX4TH.A        Jax4th for Windows NT, main source file.
  46. JAX4TH.I        Jax4th for Windows NT, main include file.
  47. JX4FILES.A        Jax4th for Windows NT, file-handling source.
  48. WINDOWS.I        Jax4th for Windows NT, windows includes.
  49. MAKEFILE        Jax4th for Windows NT, NMAKE makefile.
  50. UNIBLOCK.C        UNIBLOCK.EXE source.
  51. UNIASCII.C        UNIASCII.EXE source.
  52. JAX4TH.ICO        Icon for JAX4TH.EXE.
  53. JAX4TH.RC        Resource file for JAX4TH.EXE.
  54. DOC\JAX4TH.DOC        Minimal documentation for Jax4th.
  55. EXAMPLE\PASTE.BLK    Some utils and DDE example in Unicode BLOCK files.
  56. EXAMPLE\SHORTEST.F    For testing PASTE.BLK.
  57. UTILS\UTILS.UTF        Unicode text source for various utilities.
  58. UTILS\EDITOR.UTF    Unicode text source for a simple Unicode BLOCK
  59.             file editor.
  60. UTILS\MEMORY.UTF    Unicode text source for the Memory Allocation
  61.             word set.
  62. UTILS\SYSCALLS.UTF    Unicode text source examples of Jax4th system
  63.             calls to NT DLLs.
  64. UTILS\UB2T.UTF        Unicode text source for program to convert
  65.             Unicode BLOCK files to Unicode text files.
  66. UTILS\YIQING.UTF    Cast the Yi Qing oracle.
  67.  
  68. Release notes:
  69. 1.23 -- Changed the way UNFOUND and -13 THROW worked to make failed
  70.     interpreter actions more CATCHable. Fixed SAVE-FORTH to make
  71.     more sensible note of save operations aborted due to user
  72.     cancel. Added YiQing.UTF to UTILS files.
  73.  
  74. 1.22 --    Added EKEY? which is very similar to what I had in place for
  75.     KEY? before. The new KEY? returns TRUE only for characters
  76.     1Bh and above, with the addition of carriage return 0Dh.
  77.  
  78. 1.21 -- Added EKEY and cleanup of struct declarations in WINDOWS.I ...
  79.     There's more to do on this latter; remember, I start Jax4th
  80.     under MASM386 which didn't allow nested structures. Almost
  81.     got it all though.
  82.  
  83.     See the Glossary in JAX4TH.DOC about EKEY by the way.
  84.  
  85. 1.20 --    Intermediate rev while working on EKEY.
  86.  
  87. 1.19 -- Cleanup, had accidentally left some debugging in the previous rev.
  88.     Anyway, you can now definitely SAVE-FORTH and RELOAD your saved
  89.     image, but read JAX4TH.DOC carefully on these subjects first,
  90.     particularly the sections "Invoking Jax4th" and "Saving a
  91.     Dictionary".
  92.  
  93. 1.18 -- Fixed WORDLIST and related words so that RELOADing would work
  94.     correctly. Limitation: don't SAVE-FORTH with any except system
  95.     wordlists in search order or current compliation vocabulary.
  96.     I may fix this eventually.
  97.  
  98.     Cleaned up the definition of VOCABULARY in UTILS.UTF and cleaned
  99.     up MEMORY.UTF.
  100.  
  101. 1.17 -- Added GETCOMMANDLINE ( -- c-addr u). Fixed bug in COMPARE.
  102.  
  103.     Added SAVE-INPUT and RESTORE-INPUT (both CORE EXTENSIONS).
  104.  
  105.     Added SAVE-CON and RESTORE-CON which save and restore certain
  106.     system items associated with the Console and its stacks for
  107.     Jax4th.
  108.  
  109.     This is an intermediate revision in which RELOADing doesn't
  110.     work entirely.
  111.  
  112. 1.16 -- Added SAVE-FORTH. To save an image, first define the
  113.     reload word, e.g., RELOAD-FID ..
  114.  
  115.         : RELOAD-FID ( file-id -- x x)
  116.             0 CODETODATA 65536 ROT READ-FILE ;
  117.  
  118.     before loading any other code and then using SAVE-FORTH to
  119.     save your image.That way, when you reload, the RELOAD-FID
  120.     word won't get trashed while reloading!!!
  121.  
  122.         : RELOAD-FID 0 CODETODATA 65536 ROT READ-FILE ;
  123.         ok0 MARKER FORGET-ME
  124.         ok0 : TEST ." IT WORKS! " ;
  125.         TEST
  126.         IT WORKS! ok0
  127.         SAVE-FORTH \ a filename requester comes up
  128.                    \ let's say you choose "FOO.DIC"
  129.         FORGET-ME
  130.         ok0 TEST
  131.         TEST? undefined
  132.         ok0 S" FOO.DIC" R/O OPEN-FILE DROP DUP RELOAD-FID
  133.         ok3 2DROP CLOSE-FILE DROP
  134.         ok0 TEST
  135.         IT WORKS! ok0
  136.  
  137.     This sounds strange, but I'll make it simpler in future
  138.     revisions. At least now you can save and restore images!
  139.  
  140. 1.15 -- Fixed OPEN-FILE analogously to the fix in CREATE-FILE in
  141.     1.14 .. these are the only two Jax4th calls to CreateFileW.
  142.  
  143.     Broke up the JX4EXAMP.BLK file into Unicode text files and
  144.     re-organized the distribution of the sample code. See
  145.     JAX4TH.DOC for more information on the example code files
  146.     (.UTF).
  147.  
  148. 1.14 -- Added INCLUDED. Added BIN. Fixed CREATE-FILE so that it does
  149.     string copying instead of using the string passed to it in
  150.     place. This is because of the null which must end the string
  151.     for the NT system call. S" was providing it, but WORD wasn't.
  152.  
  153.     Added the file UB2T.UTF, a Unicode source code example which
  154.     shows how to convert Unicode BLOCK files to Unicode text
  155.     files.
  156.  
  157. 1.13 --    Jax4th now interprets text files! However, they have to be
  158.     Unicode text files. UNIPAD.EXE in the Windows NT %MSTOOLS%\BIN
  159.     directory is brain-dead and buggy.  One way to deal with
  160.     Unicode is to use UNIBLOCK.EXE to convert the text
  161.     files you are editing to Unicode files. (It's *called* UNIBLOCK
  162.     but it doesn't really care if it's a BLOCK file or a plain text
  163.     file.
  164.  
  165.     Added INCLUDE-FILE which interprets Unicode only!) Also added
  166.     the variable FERROR in the NONSTANDARD-WORDLIST which saves the
  167.     last file error for INCLUDE-FILE (and probably other file-related
  168.     words in future revisions.
  169.  
  170. 1.12 -- Added UDMIN and READ-LINE. READ-LINE is Unicode only!!.
  171.     The Microsoft program UNIPAD.EXE is found in the %MSTOOLS%\BIN
  172.     directory and it's Notepad for Unicode files. ALternatively,
  173.     you can edit with an ASCII editor and use UNIBLOCK to convert
  174.     from ASCII to UNICODE. UNIBLOCK comes with the Jax4th
  175.     distribution.
  176.  
  177.     On the documentation front, I'm making progress but it still
  178.     ain't finished.
  179.  
  180.     Next to add: INCLUDE-FILE INCLUDED ... Stay Tuned!!!
  181.  
  182. 1.11 -- ***NOTE***  ***NOTE***  ***NOTE***  ***NOTE***  ***NOTE***
  183.     Realized that READ-FILE WRITE-FILE FILE-POSITION REPOSITION-FILE
  184.     etc. are supposed to deal with characters. They *were* written
  185.     dealing with byte files which is the genuine file format of NT.
  186.     SO ... to deal with this, we created parallel defs, e.g.,
  187.     READ-FILEA (ascii) READ-FILEW (wide-char unicode) and a DEFERred
  188.     READ-FILE which is vectored by default in COLD to READ-FILEW ..
  189.     If you want to change the vector READ-FILEA to read ASCII files,
  190.     then
  191.  
  192.         ' READ-FILEA ' READ-FILE >BDDY !
  193.  
  194.     is sufficient.
  195.  
  196.     Affected words, all of which are now deferred words, vectored by
  197.     default at powerup to their Unicode versions (e.g.,
  198.     FILE-POSITIONW instead of FILE-POSITIONA):
  199.  
  200.         FILE-POSITION
  201.         FILE-SIZE
  202.         READ-FILE
  203.         REPOSITION-FILE
  204.         RESIZE-FILE
  205.         WRITE-FILE
  206.  
  207.     Incidental to all this, of course, is the fact that a DODEFER
  208. execution engine has been added to the system.
  209.  
  210. 1.10 --    DUMP and WORDS now pause on spacebar and resume on same, quick
  211.     quit on any other keypress at either point.
  212.  
  213.     Discarded LocalLock() from the allocation of the data/userdict
  214.     area,     discarded LocalUnlock() from freeing of same, since
  215.     allocating with LMEM_FIXED anyway.
  216.  
  217.     Added D>S 2>R 2R>
  218.  
  219.     Added a "Bye" message to BYE
  220.  
  221. 1.9  -- Save EBX in SYSCALL just in case. Minor MASM 6.11 cleanups.
  222.  
  223. 1.8  -- Assembly source now 6.11-style PROTOs, no need for CALLCONV.INC
  224.     anymore. Added CHDIR to JX4EXAMP.BLK (useful!!).
  225.  
  226. 1.7  -- Minor text changes ...
  227.  
  228. 1.6  -- Added MARKER .... Added D0= ...
  229.  
  230. 1.5  -- Changed numbering system, now it's just the RCS revision
  231.     control number of jax4th.a
  232.  
  233.     Fixed headerlessness of WIDs, they used to make an UNNAMED
  234.     header in the dictionary, now are truly headerless.
  235.  
  236.     Added UD.R U.R
  237.  
  238. 1.06 -- Made sure CATCHing a -56 in the system catch does a QUIT
  239.  
  240.     More work on the glossary.
  241.  
  242. 1.05 -- First general public distribution. Docs: Glossary still not
  243.     finished.
  244.  
  245. BUG REPORTS AND SUGGESTED IMPROVEMENTS TO:
  246. Jax (Jack J. Woehr)
  247. PO Box 51
  248. Golden, CO 80402-0051
  249. jax@well.sf.ca.us
  250. 72203.1320@compuserve.com
  251. SYSOP RCFB (303) 278-0364
  252.  
  253. <<END of READ_1ST.TXT>>
  254.  
  255.